package com.welike.shibo.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.welike.shibo.eneity.Fans;
import com.welike.shibo.vo.page.FansPageVo;
import com.welike.shibo.vo.page.StarPageVo;

import java.util.List;

/**
 * Created by fangyu on 2019-08-18.
 */
public interface FansService extends IService<Fans> {

    /**
     * 查找关注了哪些人
     * @param fanId <= uid 把自己作为fanId
     * @return List
     */
    List<String> queryUserIdByFanId(String fanId);

    /**
     * 查找有哪些粉丝
     * @param userId <= uid 把自己作为userId
     * @return List
     */
    List<String> queryFanIdByUserId(String userId);

    // 查询用户(uid)的粉丝总数
    Integer countByUserId(String uid);

    // 查询用户(uid=>fanId)的关注总数
    Integer countByFanId(String fanId);

    // 通过uid和fanId查询是否存在关注关系
    String queryIdByUserIdAndFanId(String uid, String fanId);

    // 查询自己关注的所有的人
    List<StarPageVo> queryFollowStarPage(Integer page, Integer pageSize, String uid);

    // 查询所有的粉丝
    List<FansPageVo> queryFansPage(Integer page, Integer pageSize, String uid);

}
